Language Modularization and Composition with Projectional Language Workbenches illustrated with MPS

نویسندگان

  • Markus Voelter
  • Konstantin Solomatov
چکیده

The language community has had a discussion about different styles of languages for a long time: big languages with many specific concepts (ABAP, Cobol), or small languages with few, but very powerful and orthogonal concepts (Lisp, Smalltalk)? With the advent of projectional language workbenches a new class of language becomes possible that can combine the best of both approaches: modular languages. Modular Languages use a relatively small general-purpose core and can be extended with more (domain specific) concepts as needed. Projectional language workbenches support this approach by alleviating the problems of language composition for parser-based languages by not using grammars and parsers at all. They also enable IDE extension as a side benefit. In this paper we argue why modular languages are useful and illustrate the idea with a couple of small examples. We also present a number of language composition techniques for JetBrains MPS, an open source projectional language workbench.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Language and IDE Modularization, Extension and Composition with MPS

Language modularization, extension and composition is an important building block for working efficiently with DSLs. Historically, this has been a challenge because many grammar formalisms are not closed under composition, hence syntactic composition of languages is challenging. Composing static and dynamic semantics can also be hard, at least in the general case. Finally, a lot of existing wor...

متن کامل

Embedded Software Development with Projectional Language Workbenches

This paper describes a novel approach to embedded software development. Instead of using a combination of C code and modeling tools, we propose an approach where modeling and programming is unified using projectional language workbenches. These allow the incremental, domainspecific extension of C and a seamless integration between the various concerns of an embedded system. The paper does not p...

متن کامل

Implementing Feature Variability for Models and Code with Projectional Language Workbenches

Product line engineering deals with managing and implementing the variability among a set of related products. We distinguish between two kinds of variability: configuration and customization. Customization variability can be described using programming language code or creative construction DSLs, whereas configuration variability is described using configuration based approaches, such as featu...

متن کامل

Supporting Diverse Notations in MPS' Projectional Editor

To be able to build effective DSLs, these DSLs must not just use language concepts that are aligned with their respective domain, but also use notations that correspond closely to established domain notations – and those are often not purely textual or graphical. The underlying language workbench must support these notations, and combining different notations in a single editor must be supporte...

متن کامل

Towards User-Friendly Projectional Editors

Today’s challenges for language development include language extension and composition, as well as the use of diverse notations. A promising approach is projectional editing, a technique to directly manipulate the abstract syntax tree of a program, without relying on parsers. Its potential lies in the ability to combine diverse notational styles – such as text, symbols, tables, and graphics – a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010